/**
 * - 作者: DoooReyn
 * - 日期: 2023.10.31
 */
import type { LoadItemOneByOne } from './ResLoader';

/** 场景资源信息 */
export interface SceneAssetInfo extends LoadItemOneByOne {
    /** 是否需要缓存 */
    cached?: boolean;
}

/** 场景信息 */
export interface SceneInfo {
    /** 场景名称 */
    readonly scene: string;
    /** 所属资源包 */
    readonly bundle: string;
    /** 进入时需要加载的资源列表 */
    readonly assetsToLoad: SceneAssetInfo[];
    /** 初始场景预制体路径 */
    readonly screen: string;
    /** 大场景加载预制体路径 */
    readonly bigLoading: string;
    /** 背景图 */
    readonly background?: {
        /** 背景图路径  */
        path: string;
        /** 背景适配模式 */
        fitMode?: number;
    };
}

/** 舞台信息 */
export interface StageInfo {
    /** 场景信息 */
    readonly sceneInfo: SceneInfo;
    /** 加载资源时调用 */
    onLoad(): Promise<void>;
    /** 卸载资源时调用 */
    onUnload(): Promise<void>;
    /** 进入时调用 */
    onEnter(): Promise<void>;
    /** 离开时调用 */
    onExit(): Promise<void>;
    /** 进场过渡时调用 */
    onTransitionEnter(): Promise<void>;
    /** 离场过渡时调用 */
    onTransitionExit(): Promise<void>;
}
